I just happened to flash nand that was not compatible with RGH2 to my Xbox 360, and my Xbox no longer booted, it was stuck in a restart loop.

Since I flashed it via xbox itself using Simple360NandFlasher, and I wasn’t able to boot to dashboard or xell, the only way to flash correct nand is through Xbox JTAG ports, using one of these:

NAND-X

NAND-X

JR-Programmer

JR-Programmer.

Which are the easiest and most fool proof methods. There are also cheaper but more difficult methods:

Modified MTX SPI Nand Flasher:

MTX-SPI-Nand-Flasher

Soldering LPT port:

LPT-Port

Well I no longer have a pc with LPT ports, nor LPT to USB adapter and as far as I understood these adapters are mostly aimed for Printers and wouldn’t work anyway. Flashers would have taken too much time to get and I wanted to fix my xbox fast since it’s holiday season, and I want to play games on it.

So I thought I have quite a few micro controllers, there surely must be a way to use them to flash my nand, so I started to dig has anyone done this with arduino or some other controllers, and sure enough found a jackpot walczakp/xbox360-teensy-flasher repository. However I don’t have any of Teensy boards so I had to port this code to one of the controllers that I had.

I only have:

  • Arduino Nano
  • LGT8 Nano Compatible board
  • STM32 Blue Pill (haven’t tried this one, maybe this would have worked)
  • ESP8266
  • ESP32

I chose ESP32 because it required least effort to port code to. I tried other boards, but they would require much more effort and electronic components. I ported code from Arduino IDE project to PlatformIO because of auto complete and easier to debug. I don’t remember all the changes I did because there were a lot of trial and error to make it work. Reading nand was easy and straight forward, I did that within an hour, just changed some pins and that’s it, however, writing was a different story, and I’m not sure now which changes are required and which are not, but now it works so I’m happy :D. Also I should find some fast write library that would work with ESP32, since it was way slower then what walczakp reportend in his repository using teensy, and ESP32 should be faster since it’s clock is faster (48Mhz vs 240MHz).

Here is the modified code: SlowLogicBoy/Xbox360-ESP32-Flasher

Here is how it looked: Lolin32 to Xbox360

And trinity pinout reference that I used: Trinity Pinout reference

Comments